Overlapping
QuickTime and Flash sprites cause a flicker
Product:
Director
Platform:
Mac, Win
Versions:
6.5 to 8.5.1
ID:
3149
Issue Overlapping
digital video and Flash sprites causes a flickering effect. Flickering can
occur when overlaying any two sprites that both have the Direct To Stage
property (digital video, 3D, animated GIF, vector shape, text,
SWF).
Reason Director uses
an offscreen buffer to composite the different sprite channels together.
This buffer enables various compositing styles ("ink effects"), and
predraws the imagery before blasting it to the screen for flicker-free
animation.
Some Director
member types have a Direct To Stage (DTS) property which allows them to
bypass this offscreen buffer and be rendered directly to the stage. When
DTS is set to TRUE, these elements go right into video memory and are not
first composited offscreen. Member types that have the DTs property
include digital video, 3D, animated GIF, vector shape, text, and SWF.
Thus, if two overlapping sprites are both set to Direct To Stage, they are
competing for the same screen space and no compositing will be done. This
is what causes the flickering effect.
The Direct To
Stage property can be turned on or off via the authoring interface (choose
the member tab of the Property Inspector) or through Lingo (see
'directToStage' in the Lingo Dictionary).
Solution Following are
some troubleshooting ideas that may help in resolving flickering of
overlapping sprites:
Turn off the Direct To Stage property on one or both of
the overlapping sprites.
Design the project so that overlapping of DTs sprites is
not necessary. For example, try breaking the SWF into smaller
pieces that can form a border for the video sprite instead of
overlapping it. Or, add the Flash or graphical elements into the
digital video file itself.
Try one of the following approaches:
Export the video
as a series of images to be used in Director.
Use a series of
images for animation instead of SWF or Animated GIF.
Use a field member
instead of text.
Use non-DTs members to create interface elements,
if overlapping is necessary.
Minimize the need for stage redraw.
Swap out the
animating members or DTs members with static members when
overlapping or animation is necessary.
Make the SWF file
a static graphic, rather than an animation. The file can be a one
frame SWF file. This can minimize or remove
flickering.
Note: Sprites with visibility turned off can
still cause flickering on the DTs member.